The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). Moreover, customers are demanding increased performance and high reliability.
One approach for increasing the reliability of a system is to have hot standby components available to immediately replace an active component when a failure of the active component is detected. For example, a communications switching system may employ an active controller to configure connections. The database reflecting these connections can be quite large as known switching systems may support fifty to one hundred thousand connections or more at a given time. In a typical installation, the connections are continuously being added, deleted and modified. When the active controller fails, it is desirable that a standby controller could assume the operations of the failed active controller with no or only a minimal disruption. Thus, the standby controller must have immediate access to the database reflecting the connections, such as a duplicate copy of this connection data.
One known approach to synchronize the database of an active controller with that of a standby controller is for the active controller, upon insertion or reboot of a standby controller, to enter a hold state of not allowing connection changes to the database. The database of the active controller is then duplicated in the standby controller. Subsequently, the active controller returns to the active state, accepts connection changes, and relays these connection changes to the standby controller to maintain synchronization. However, freezing the state of the active connection database until the database of the standby controller is updated is unacceptable, especially in large systems where the database is large and thus requires a significant time to duplicate, and during this time the dynamic connection requests must either be ignored or queued.
Another often used method always uses a bulk mode of update irrespective of a standby's state. However, this approach typically causes the standby controller to lag the active controller by a significant number of entries thereby causing a significant hit in traffic during a failover scenario.
Needed are new methods and systems for efficiently copying and maintaining the database state of an active controller to that of a standby controller, including those methods and systems which result in only a minimal disruption, if any, of the servicing of connection modification requests.